diff2(x, y) -> cond13(equal2(x, y), x, y)
cond13(true, x, y) -> 0
cond13(false, x, y) -> cond23(gt2(x, y), x, y)
cond23(true, x, y) -> s1(diff2(x, s1(y)))
cond23(false, x, y) -> s1(diff2(s1(x), y))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
cond23(false, x0, x1)
equal2(s1(x0), s1(x1))
cond13(false, x0, x1)
diff2(x0, x1)
equal2(0, s1(x0))
cond13(true, x0, x1)
gt2(s1(x0), 0)
cond23(true, x0, x1)
↳ QTRS
↳ DependencyPairsProof
diff2(x, y) -> cond13(equal2(x, y), x, y)
cond13(true, x, y) -> 0
cond13(false, x, y) -> cond23(gt2(x, y), x, y)
cond23(true, x, y) -> s1(diff2(x, s1(y)))
cond23(false, x, y) -> s1(diff2(s1(x), y))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
cond23(false, x0, x1)
equal2(s1(x0), s1(x1))
cond13(false, x0, x1)
diff2(x0, x1)
equal2(0, s1(x0))
cond13(true, x0, x1)
gt2(s1(x0), 0)
cond23(true, x0, x1)
EQUAL2(s1(x), s1(y)) -> EQUAL2(x, y)
COND23(false, x, y) -> DIFF2(s1(x), y)
GT2(s1(u), s1(v)) -> GT2(u, v)
COND13(false, x, y) -> COND23(gt2(x, y), x, y)
DIFF2(x, y) -> EQUAL2(x, y)
COND13(false, x, y) -> GT2(x, y)
COND23(true, x, y) -> DIFF2(x, s1(y))
DIFF2(x, y) -> COND13(equal2(x, y), x, y)
diff2(x, y) -> cond13(equal2(x, y), x, y)
cond13(true, x, y) -> 0
cond13(false, x, y) -> cond23(gt2(x, y), x, y)
cond23(true, x, y) -> s1(diff2(x, s1(y)))
cond23(false, x, y) -> s1(diff2(s1(x), y))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
cond23(false, x0, x1)
equal2(s1(x0), s1(x1))
cond13(false, x0, x1)
diff2(x0, x1)
equal2(0, s1(x0))
cond13(true, x0, x1)
gt2(s1(x0), 0)
cond23(true, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
EQUAL2(s1(x), s1(y)) -> EQUAL2(x, y)
COND23(false, x, y) -> DIFF2(s1(x), y)
GT2(s1(u), s1(v)) -> GT2(u, v)
COND13(false, x, y) -> COND23(gt2(x, y), x, y)
DIFF2(x, y) -> EQUAL2(x, y)
COND13(false, x, y) -> GT2(x, y)
COND23(true, x, y) -> DIFF2(x, s1(y))
DIFF2(x, y) -> COND13(equal2(x, y), x, y)
diff2(x, y) -> cond13(equal2(x, y), x, y)
cond13(true, x, y) -> 0
cond13(false, x, y) -> cond23(gt2(x, y), x, y)
cond23(true, x, y) -> s1(diff2(x, s1(y)))
cond23(false, x, y) -> s1(diff2(s1(x), y))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
cond23(false, x0, x1)
equal2(s1(x0), s1(x1))
cond13(false, x0, x1)
diff2(x0, x1)
equal2(0, s1(x0))
cond13(true, x0, x1)
gt2(s1(x0), 0)
cond23(true, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
EQUAL2(s1(x), s1(y)) -> EQUAL2(x, y)
diff2(x, y) -> cond13(equal2(x, y), x, y)
cond13(true, x, y) -> 0
cond13(false, x, y) -> cond23(gt2(x, y), x, y)
cond23(true, x, y) -> s1(diff2(x, s1(y)))
cond23(false, x, y) -> s1(diff2(s1(x), y))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
cond23(false, x0, x1)
equal2(s1(x0), s1(x1))
cond13(false, x0, x1)
diff2(x0, x1)
equal2(0, s1(x0))
cond13(true, x0, x1)
gt2(s1(x0), 0)
cond23(true, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
EQUAL2(s1(x), s1(y)) -> EQUAL2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
cond23(false, x0, x1)
equal2(s1(x0), s1(x1))
cond13(false, x0, x1)
diff2(x0, x1)
equal2(0, s1(x0))
cond13(true, x0, x1)
gt2(s1(x0), 0)
cond23(true, x0, x1)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
cond23(false, x0, x1)
equal2(s1(x0), s1(x1))
cond13(false, x0, x1)
diff2(x0, x1)
equal2(0, s1(x0))
cond13(true, x0, x1)
gt2(s1(x0), 0)
cond23(true, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
EQUAL2(s1(x), s1(y)) -> EQUAL2(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
GT2(s1(u), s1(v)) -> GT2(u, v)
diff2(x, y) -> cond13(equal2(x, y), x, y)
cond13(true, x, y) -> 0
cond13(false, x, y) -> cond23(gt2(x, y), x, y)
cond23(true, x, y) -> s1(diff2(x, s1(y)))
cond23(false, x, y) -> s1(diff2(s1(x), y))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
cond23(false, x0, x1)
equal2(s1(x0), s1(x1))
cond13(false, x0, x1)
diff2(x0, x1)
equal2(0, s1(x0))
cond13(true, x0, x1)
gt2(s1(x0), 0)
cond23(true, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
GT2(s1(u), s1(v)) -> GT2(u, v)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
cond23(false, x0, x1)
equal2(s1(x0), s1(x1))
cond13(false, x0, x1)
diff2(x0, x1)
equal2(0, s1(x0))
cond13(true, x0, x1)
gt2(s1(x0), 0)
cond23(true, x0, x1)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
cond23(false, x0, x1)
equal2(s1(x0), s1(x1))
cond13(false, x0, x1)
diff2(x0, x1)
equal2(0, s1(x0))
cond13(true, x0, x1)
gt2(s1(x0), 0)
cond23(true, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
GT2(s1(u), s1(v)) -> GT2(u, v)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
COND23(false, x, y) -> DIFF2(s1(x), y)
COND13(false, x, y) -> COND23(gt2(x, y), x, y)
COND23(true, x, y) -> DIFF2(x, s1(y))
DIFF2(x, y) -> COND13(equal2(x, y), x, y)
diff2(x, y) -> cond13(equal2(x, y), x, y)
cond13(true, x, y) -> 0
cond13(false, x, y) -> cond23(gt2(x, y), x, y)
cond23(true, x, y) -> s1(diff2(x, s1(y)))
cond23(false, x, y) -> s1(diff2(s1(x), y))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
cond23(false, x0, x1)
equal2(s1(x0), s1(x1))
cond13(false, x0, x1)
diff2(x0, x1)
equal2(0, s1(x0))
cond13(true, x0, x1)
gt2(s1(x0), 0)
cond23(true, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ UsableRulesProof
COND23(false, x, y) -> DIFF2(s1(x), y)
COND13(false, x, y) -> COND23(gt2(x, y), x, y)
COND23(true, x, y) -> DIFF2(x, s1(y))
DIFF2(x, y) -> COND13(equal2(x, y), x, y)
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
cond23(false, x0, x1)
equal2(s1(x0), s1(x1))
cond13(false, x0, x1)
diff2(x0, x1)
equal2(0, s1(x0))
cond13(true, x0, x1)
gt2(s1(x0), 0)
cond23(true, x0, x1)
cond23(false, x0, x1)
cond13(false, x0, x1)
diff2(x0, x1)
cond13(true, x0, x1)
cond23(true, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ UsableRulesProof
COND23(false, x, y) -> DIFF2(s1(x), y)
COND13(false, x, y) -> COND23(gt2(x, y), x, y)
COND23(true, x, y) -> DIFF2(x, s1(y))
DIFF2(x, y) -> COND13(equal2(x, y), x, y)
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
equal2(s1(x0), s1(x1))
equal2(0, s1(x0))
gt2(s1(x0), 0)
COND13(false, s1(x0), 0) -> COND23(true, s1(x0), 0)
COND13(false, 0, x0) -> COND23(false, 0, x0)
COND13(false, s1(x0), s1(x1)) -> COND23(gt2(x0, x1), s1(x0), s1(x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ UsableRulesProof
COND13(false, 0, x0) -> COND23(false, 0, x0)
COND13(false, s1(x0), 0) -> COND23(true, s1(x0), 0)
COND23(false, x, y) -> DIFF2(s1(x), y)
COND13(false, s1(x0), s1(x1)) -> COND23(gt2(x0, x1), s1(x0), s1(x1))
COND23(true, x, y) -> DIFF2(x, s1(y))
DIFF2(x, y) -> COND13(equal2(x, y), x, y)
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
equal2(s1(x0), s1(x1))
equal2(0, s1(x0))
gt2(s1(x0), 0)
DIFF2(s1(x0), s1(x1)) -> COND13(equal2(x0, x1), s1(x0), s1(x1))
DIFF2(0, s1(x0)) -> COND13(false, 0, s1(x0))
DIFF2(s1(x0), 0) -> COND13(false, s1(x0), 0)
DIFF2(0, 0) -> COND13(true, 0, 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
DIFF2(s1(x0), 0) -> COND13(false, s1(x0), 0)
DIFF2(0, s1(x0)) -> COND13(false, 0, s1(x0))
COND23(false, x, y) -> DIFF2(s1(x), y)
COND13(false, s1(x0), 0) -> COND23(true, s1(x0), 0)
COND13(false, 0, x0) -> COND23(false, 0, x0)
DIFF2(0, 0) -> COND13(true, 0, 0)
COND13(false, s1(x0), s1(x1)) -> COND23(gt2(x0, x1), s1(x0), s1(x1))
DIFF2(s1(x0), s1(x1)) -> COND13(equal2(x0, x1), s1(x0), s1(x1))
COND23(true, x, y) -> DIFF2(x, s1(y))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
equal2(s1(x0), s1(x1))
equal2(0, s1(x0))
gt2(s1(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ UsableRulesProof
COND13(false, s1(x0), 0) -> COND23(true, s1(x0), 0)
DIFF2(s1(x0), 0) -> COND13(false, s1(x0), 0)
COND23(false, x, y) -> DIFF2(s1(x), y)
COND13(false, 0, x0) -> COND23(false, 0, x0)
DIFF2(0, s1(x0)) -> COND13(false, 0, s1(x0))
COND13(false, s1(x0), s1(x1)) -> COND23(gt2(x0, x1), s1(x0), s1(x1))
DIFF2(s1(x0), s1(x1)) -> COND13(equal2(x0, x1), s1(x0), s1(x1))
COND23(true, x, y) -> DIFF2(x, s1(y))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
equal2(s1(x0), s1(x1))
equal2(0, s1(x0))
gt2(s1(x0), 0)
COND23(true, s1(z0), s1(z1)) -> DIFF2(s1(z0), s1(s1(z1)))
COND23(true, s1(z0), 0) -> DIFF2(s1(z0), s1(0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
DIFF2(0, s1(x0)) -> COND13(false, 0, s1(x0))
COND13(false, 0, x0) -> COND23(false, 0, x0)
COND23(false, x, y) -> DIFF2(s1(x), y)
DIFF2(s1(x0), 0) -> COND13(false, s1(x0), 0)
COND13(false, s1(x0), 0) -> COND23(true, s1(x0), 0)
COND13(false, s1(x0), s1(x1)) -> COND23(gt2(x0, x1), s1(x0), s1(x1))
COND23(true, s1(z0), s1(z1)) -> DIFF2(s1(z0), s1(s1(z1)))
DIFF2(s1(x0), s1(x1)) -> COND13(equal2(x0, x1), s1(x0), s1(x1))
COND23(true, s1(z0), 0) -> DIFF2(s1(z0), s1(0))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
equal2(s1(x0), s1(x1))
equal2(0, s1(x0))
gt2(s1(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ UsableRulesProof
COND13(false, s1(x0), 0) -> COND23(true, s1(x0), 0)
DIFF2(s1(x0), 0) -> COND13(false, s1(x0), 0)
COND23(false, x, y) -> DIFF2(s1(x), y)
COND13(false, s1(x0), s1(x1)) -> COND23(gt2(x0, x1), s1(x0), s1(x1))
COND23(true, s1(z0), s1(z1)) -> DIFF2(s1(z0), s1(s1(z1)))
DIFF2(s1(x0), s1(x1)) -> COND13(equal2(x0, x1), s1(x0), s1(x1))
COND23(true, s1(z0), 0) -> DIFF2(s1(z0), s1(0))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
equal2(s1(x0), s1(x1))
equal2(0, s1(x0))
gt2(s1(x0), 0)
COND23(false, s1(z0), s1(z1)) -> DIFF2(s1(s1(z0)), s1(z1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
COND23(false, s1(z0), s1(z1)) -> DIFF2(s1(s1(z0)), s1(z1))
DIFF2(s1(x0), 0) -> COND13(false, s1(x0), 0)
COND13(false, s1(x0), 0) -> COND23(true, s1(x0), 0)
COND13(false, s1(x0), s1(x1)) -> COND23(gt2(x0, x1), s1(x0), s1(x1))
COND23(true, s1(z0), s1(z1)) -> DIFF2(s1(z0), s1(s1(z1)))
DIFF2(s1(x0), s1(x1)) -> COND13(equal2(x0, x1), s1(x0), s1(x1))
COND23(true, s1(z0), 0) -> DIFF2(s1(z0), s1(0))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
equal2(s1(x0), s1(x1))
equal2(0, s1(x0))
gt2(s1(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ UsableRulesProof
COND23(false, s1(z0), s1(z1)) -> DIFF2(s1(s1(z0)), s1(z1))
COND13(false, s1(x0), s1(x1)) -> COND23(gt2(x0, x1), s1(x0), s1(x1))
COND23(true, s1(z0), s1(z1)) -> DIFF2(s1(z0), s1(s1(z1)))
DIFF2(s1(x0), s1(x1)) -> COND13(equal2(x0, x1), s1(x0), s1(x1))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
equal2(s1(x0), s1(x1))
equal2(0, s1(x0))
gt2(s1(x0), 0)
DIFF2(s1(s1(z0)), s1(z1)) -> COND13(equal2(s1(z0), z1), s1(s1(z0)), s1(z1))
DIFF2(s1(z0), s1(s1(z1))) -> COND13(equal2(z0, s1(z1)), s1(z0), s1(s1(z1)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ UsableRulesProof
COND23(false, s1(z0), s1(z1)) -> DIFF2(s1(s1(z0)), s1(z1))
DIFF2(s1(s1(z0)), s1(z1)) -> COND13(equal2(s1(z0), z1), s1(s1(z0)), s1(z1))
COND13(false, s1(x0), s1(x1)) -> COND23(gt2(x0, x1), s1(x0), s1(x1))
DIFF2(s1(z0), s1(s1(z1))) -> COND13(equal2(z0, s1(z1)), s1(z0), s1(s1(z1)))
COND23(true, s1(z0), s1(z1)) -> DIFF2(s1(z0), s1(s1(z1)))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
equal2(s1(x0), s1(x1))
equal2(0, s1(x0))
gt2(s1(x0), 0)
COND13(false, s1(s1(z0)), s1(z1)) -> COND23(gt2(s1(z0), z1), s1(s1(z0)), s1(z1))
COND13(false, s1(z0), s1(s1(z1))) -> COND23(gt2(z0, s1(z1)), s1(z0), s1(s1(z1)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
COND23(false, s1(z0), s1(z1)) -> DIFF2(s1(s1(z0)), s1(z1))
COND13(false, s1(s1(z0)), s1(z1)) -> COND23(gt2(s1(z0), z1), s1(s1(z0)), s1(z1))
DIFF2(s1(s1(z0)), s1(z1)) -> COND13(equal2(s1(z0), z1), s1(s1(z0)), s1(z1))
COND13(false, s1(z0), s1(s1(z1))) -> COND23(gt2(z0, s1(z1)), s1(z0), s1(s1(z1)))
DIFF2(s1(z0), s1(s1(z1))) -> COND13(equal2(z0, s1(z1)), s1(z0), s1(s1(z1)))
COND23(true, s1(z0), s1(z1)) -> DIFF2(s1(z0), s1(s1(z1)))
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
equal2(s1(x0), s1(x1))
equal2(0, s1(x0))
gt2(s1(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
COND23(false, x, y) -> DIFF2(s1(x), y)
COND13(false, x, y) -> COND23(gt2(x, y), x, y)
COND23(true, x, y) -> DIFF2(x, s1(y))
DIFF2(x, y) -> COND13(equal2(x, y), x, y)
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
cond23(false, x0, x1)
equal2(s1(x0), s1(x1))
cond13(false, x0, x1)
diff2(x0, x1)
equal2(0, s1(x0))
cond13(true, x0, x1)
gt2(s1(x0), 0)
cond23(true, x0, x1)
cond23(false, x0, x1)
cond13(false, x0, x1)
diff2(x0, x1)
cond13(true, x0, x1)
cond23(true, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
COND23(false, x, y) -> DIFF2(s1(x), y)
COND13(false, x, y) -> COND23(gt2(x, y), x, y)
COND23(true, x, y) -> DIFF2(x, s1(y))
DIFF2(x, y) -> COND13(equal2(x, y), x, y)
gt2(0, v) -> false
gt2(s1(u), 0) -> true
gt2(s1(u), s1(v)) -> gt2(u, v)
equal2(0, 0) -> true
equal2(s1(x), 0) -> false
equal2(0, s1(y)) -> false
equal2(s1(x), s1(y)) -> equal2(x, y)
equal2(s1(x0), 0)
equal2(0, 0)
gt2(0, x0)
gt2(s1(x0), s1(x1))
equal2(s1(x0), s1(x1))
equal2(0, s1(x0))
gt2(s1(x0), 0)